package com.demo.starter.service;

import com.demo.starter.domain.RemoveRet;
import com.demo.starter.domain.UploadRet;

import java.io.IOException;

public interface IOSSService {

    /**
     * 上传本地文件
     * @param localFilePath 本地文件路径
     * @return UploadRet
     * @see com.demo.starter.domain.UploadRet
     */
    UploadRet uploadByLocalPath(String localFilePath);

    /**
     * 上传字节数组
     * @return UploadRet
     * @see com.demo.starter.domain.UploadRet
     */
    UploadRet uploadByBytes(byte[] bytes);

    /**
     * 上传网络资源
     * @param url
     * @return
     */
    UploadRet uploadByRemoteURL(String url) throws IOException;

    /**
     * 删除 OSS server 上的文件
     * @param keys
     * @return status=0 时，failedKeys 为失败的 key 数组
     * @see com.demo.starter.domain.RemoveRet
     */
    RemoveRet remove(String[] keys);
}
